package com.demo.backtemplate.service;

import com.demo.backtemplate.models.dto.ProductDTO;
import com.xlf.utility.BaseResponse;
import org.springframework.http.ResponseEntity;

import java.util.List;

/**
 * 商品服务接口
 */
public interface ProductService {
    /**
     * 获取商品列表
     *
     * @param page 页码
     * @param size 每页大小
     * @return 商品列表
     */
    ResponseEntity<BaseResponse<List<ProductDTO>>> getProductList(Integer page, Integer size);

    /**
     * 获取商品详情
     *
     * @param id 商品ID
     * @return 商品详情
     */
    ResponseEntity<BaseResponse<ProductDTO>> getProductById(Long id);

    /**
     * 创建商品
     *
     * @param productDTO 商品信息
     * @return 创建结果
     */
    ResponseEntity<BaseResponse<Void>> createProduct(ProductDTO productDTO);

    /**
     * 更新商品
     *
     * @param productDTO 商品信息
     * @return 更新结果
     */
    ResponseEntity<BaseResponse<Void>> updateProduct(ProductDTO productDTO);

    /**
     * 删除商品
     *
     * @param id 商品ID
     * @return 删除结果
     */
    ResponseEntity<BaseResponse<Void>> deleteProduct(Long id);

    /**
     * 更新商品状态
     *
     * @param id 商品ID
     * @param status 状态
     * @return 更新结果
     */
    ResponseEntity<BaseResponse<Void>> updateProductStatus(Long id, Integer status);
} 